package com.alittle.support.support.widget;

/**
 * 多加载状态的View
 * <p/>
 * 请只在非常简单的情况下使用此类，不要造成方法命名上的混淆
 */
public interface MultiStateView<D, E> {
    int STATE_UNKNOWN = -1; //未知状态
    int STATE_LOADING = 0; //正在加载
    int STATE_LOAD_ERROR = 1;//加载完成[失败]
    int STATE_LOAD_SUCCESS_EMPTY = 2;//加载完成[空]
    int STATE_LOAD_SUCCESS_CONTENT = 3;//加载完成[正常]

    /**
     * 正在加载
     */
    void showMultiStateLoading();

    /**
     * 正在出现异常
     */
    void showMultiStateLoadError(E error);

    /**
     * 正在成功但是没有内容
     */
    void showMultiStateLoadSuccessEmpty();

    /**
     * 正在成功且有内容
     */
    void showMultiStateLoadSuccessContent(D content);
}
